package cn.ee.dfs.esb.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wuwenze.poi.annotation.Excel;
import com.wuwenze.poi.annotation.ExcelField;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * Entity
 *
 * @author TWJ
 * @date 2019-07-31 17:02:37
 */
@Data
@TableName("t_service_info")
@Excel("服务信息表")
public class ServiceInfo implements Serializable {

    /**
     *
     */
    @TableId(value = "serviceId", type = IdType.AUTO)
    private Long serviceId;

    /**
     * 系统名称
     */
    @TableField("spName")
    @ExcelField(value = "系统名称")
    private String spName;

    /**
     * 系统简称
     */
    @TableField("spAlias")
    @ExcelField(value = "系统简称")
    private String spAlias;

    /**
     * 服务名称
     */
    @TableField("name")
    @ExcelField(value = "服务名称")
    private String name;

    /**
     * 服务简称
     */
    @TableField("alias")
    @ExcelField(value = "服务简称")
    private String alias;

    /**
     * 服务注册唯一识别码
     */
    @TableField("openCode")
    private String openCode;

    /**
     * 服务描述
     */
    @TableField("description")
    @ExcelField(value = "服务描述")
    private String description;

    /**
     * 服务状态 0注册 1发布 2注销 3停用
     */
    @TableField("status")
    @ExcelField(value = "服务状态", writeConverterExp = "0=注册,1=审核,2=可用,3=禁用")
    private String status;

    /**
     * 服务类型 0原子 1组合
     */
    @TableField("type")
    @ExcelField(value = "服务类型", writeConverterExp = "0=原子,1=组合")
    private Integer type;

    /**
     * 协议类型 http webservice
     */
    @TableField("protocol")
    @ExcelField(value = "协议类型")
    private String protocol;

    /**
     * 解析标准，规范  xml json
     */
    @TableField("standard")
    @ExcelField(value = "解析标准")

    private String standard;

    /**
     * 请求方式 get post put ...
     */
    @TableField("method")
    @ExcelField(value = "请求方式")
    private String method;

    /**
     * 系统版本/服务版本
     */
    @TableField("version")
    @ExcelField(value = "服务版本")
    private String version;

    /**
     * 业务地址
     */
    @TableField("businessPath")
    @ExcelField(value = "业务地址")
    private String businessPath;

    /**
     * ESB地址
     */
    @TableField("bindEsbPath")
    @ExcelField(value = "ESB地址")
    private String bindEsbPath;

    /**
     * 负责人
     */
    @TableField("principal")
    @ExcelField(value = "负责人")
    private String principal;

    /**
     * 创建日期
     */
    @TableField("createTime")
    @ExcelField(value = "创建日期")
    private Date createTime;

    /**
     * 参数
     */
    @TableField("params")
    @ExcelField(value = "参数")
    private String params;

    /**
     * 命名空间 webservice
     */
    @TableField("namespace")
    @ExcelField(value = "命名空间")
    private String namespace;

    /**
     * 每日调用频率上限
     */
    @TableField("callFrequency")
    private Integer callFrequency;


    /**
     * 接口名称
     */
    @TableField("interfaceName")
    @ExcelField(value = "接口名称")
    private String interfaceName;

    /**
     *
     */
    @TableField("updateTime")
    private Date updateTime;

    /**
     * IP白名单
     */
    @TableField("whiteIPs")
    private String whiteIPs;


    @TableField(exist = false)
    private String applyTime;// 申请时间

    @TableField(exist = false)
    private String appKey;// 申请秘钥

    @TableField(exist = false)
    private String applyStatus;// 申请状态

    @TableField(exist = false)
    private Integer userServiceId;// id

    @TableField(exist = false)
    private String userServiceIps;

    @TableField(exist = false)
    private Integer userServiceFrequency;

    @TableField(exist = false)
    private String userServiceOpinion;

    @TableField(exist = false)
    private String userServiceApplyPerson;
    ;

}